var savepath = "/sdcard/downbak/";
var remotepath="http://39.105.28.243:8086/";

files.ensureDir(savepath);//创建路径

function run_lib(){
    down_js_file("date.js");
    date = require(savepath + 'date.js'); //获取公共函数对象  后面可以点出里面的函数使用
    toastLog('加法计算结果：' + date.add(1,2));  //计算1 + 2
    toastLog('日期：' + date.getdate());  //获取年月日
}

function run_js_task(){
    toastLog("开始下载。。。")
    down_js_file("thread_demo.js");
    toastLog("开始运行。。。")
    engines.execScriptFile(savepath+"thread_demo.js");
}

//下载普通文件
function down_js_file(文件名称){
    let url = remotepath + 文件名称;
    let res = http.get(url);
    if (res.statusCode != 200) {
        toastLog("云代码下载失败,请检查网络");
    } else {
        files.write(savepath + 文件名称, res.body.string());
        toastLog("云代码下载成功");
    }
}

//下载二进制文件
function down_bytes_file(文件名称){
    let url = remotepath + 文件名称;
    let res = http.get(url);
    if (res.statusCode != 200) {
        toastLog("云代码下载失败,请检查网络");
    } else {
        files.writeBytes(savepath + 文件名称, res.body.bytes());
        toastLog("云代码下载成功");
    }
}

//下载并且执行
function down_yunfile_run(file){
    try {
        let url = remotepath + file;
        engines.execScript("云代码", http.get(url).body.string() )
    } catch (e) {
        toastLog("执行云脚本失败")
        toastLog(e)
    }
}

//3种使用方式
//1普通下载js文件并执行
// run_js_task() 

//2下载类库，调用类库
//run_lib()

//3通过远程获取代码字符串执行
down_yunfile_run("thread_demo.js")